function doPost(e) {

    //Identify useful data in JSON
    var myData = JSON.parse(e.postData.contents);
    var reference = myData.case.reference;
    var caseType = myData.case.type.title;
    var status = myData.case.status.title;
    var createdAt = new Date(myData.case.created_at);
    var action = myData.action



    //Put new cases in new row in spreadsheet
    if (action == "case_created") {
        var createdBy = myData.created_by.name;
        var sheet = SpreadsheetApp.getActiveSheet();
        var lastRow = Math.max(sheet.getLastRow(), 1);
        sheet.insertRowAfter(lastRow);
        sheet.getRange(lastRow + 1, 1).setValue(reference); // 1 = Column A
        sheet.getRange(lastRow + 1, 2).setValue(caseType); // 2 = Column B
        sheet.getRange(lastRow + 1, 3).setValue(createdAt); // 3 = Column C
        sheet.getRange(lastRow + 1, 4).setValue(status); // 4 = Column D
        sheet.getRange(lastRow + 1, 5).setValue(createdBy); // 5 = Column E
    }


    //Update row, where case already exists
    if (action == "case_transitioned") {

        //search for existing reference
        var sheet = SpreadsheetApp.getActiveSheet();
        var data = sheet.getDataRange().getValues();
        var name = myData.transitioned_by.name;

        for (var i = 0; i < data.length; i++) {
            if (data[i][0] == reference) { //[0] to search  column A - [1] for Column B etc.
                var row = i + 1;
            }
        }
        sheet.getRange(row, 4).setValue(status);
    }

}